/**
 * Created by mkDark on 2017/11/20.
 */
var common = require('../../common');
var pool = require('../index');
var mysql = require('mysql');
var YjxBaseModel = require('./YjxBaseModel');

// Schema 结构
var YjxProductVerModel = function(obj){
    YjxBaseModel.call(this,obj);

    // 以下为表定义数据，需要的字段就填入
    // CREATE TABLE `yjx_product_ver` (
    //`p_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '项目id',
    // `device` int(8) NOT NULL DEFAULT '0' COMMENT '平台: 620 标识一键生成iOS端, 610 标识一键生成android端',
    // `ver` varchar(20) NOT NULL DEFAULT '' COMMENT '版本号: 例如5.6.0',
    // `url` text COMMENT '下载地址',
    // `release` int(2) NOT NULL DEFAULT '10' COMMENT '10:测试版, 20:release版',
    // `chk_freq` bigint(10) NOT NULL DEFAULT '0' COMMENT 'check频率: 单位小时(h)',
    // `valid` int(1) NOT NULL DEFAULT '0' COMMENT '0: 无效, 1:有效',
    //`desc` text COMMENT '备注描述',
    // `create_time` datetime NOT NULL,
    // `update_time` datetime NOT NULL,
    //`update_by` varchar(50) NOT NULL DEFAULT '',
    // `del_flg` int(1) NOT NULL DEFAULT '0' COMMENT '删除flg',
    //      PRIMARY KEY (`p_id`)
    //  ) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8 COMMENT='产品版本管理表'
};
YjxProductVerModel.prototype = new YjxBaseModel();

// 取得表名
YjxProductVerModel.prototype.getTableName = function(){
    return 'yjx_product_ver';
};
// 取得查询语句中where 后面匹配主键的条件（需要各派生类进行重载）
YjxProductVerModel.prototype.getWhereConditionOfKeyEqual = function(){
    return 'p_id ='+this.p_id;
};


/**
 * 获取 YJX APP 最新版本下载地址
 *
 * @author 毛凯
 * @date 2017-11-20
 *
 *                是否必须
 * @param device	是       610  6 字段为 一键秀 相关标记
 *                        600 一键秀网页端
 *                        610 一键秀 android 端
 *                        620 一键秀 iOS 端
 *                        630 一键秀 嵌入网页端
 *                        640 一键秀微信端
 *                        650 一键秀小程序端
 * @param callback 回调
 *                  err 错误信息
 *                  result 查询结果
 */
YjxProductVerModel.prototype.getYjxProductVer = function(device,callback){
    var THIS = this;
    var tableName = this.getTableName();

    pool.pool.getConnection(function(getConerr, connection) {
        // Use the connection
        if(getConerr) {
            console.log('../yjxMysql/mapping/yjxProductVerModel.js[getYjxProductVer] getConnection err'+getConerr);
            return callback(err);
        }
        var sql ="	SELECT	" +
                "	  *	" +
                "	FROM	" +
                "	  yjx.yjx_product_ver p	" +
                "	WHERE p.device = "+device+"	" +
                "	  AND p.release = 20	" +
                "	  AND p.valid = 1	" +
                "	  AND p.del_flg = 0	" +
                "	ORDER BY p.update_time DESC	" +
                "	LIMIT 1	" ;
        console.log(sql);
        connection.query(sql, function(error, result) {
            // And done with the connection.
            connection.release();

            if(error) {
                return callback(error);
            }
            if(result && result.length > 0) {
                return callback(null, result[0]);
            } else {
                return callback(null, null);
            }
        });
    });
};


module.exports = YjxProductVerModel;